#include <iostream>
#include <map>
using namespace std;

int main()
{
	map<int, int> dic = { {1,1},{2,2},{3,3} };
	for (auto& e : dic)
	{
		cout << e.first << " : " << e.second << endl;
	}
	return 0;
}

//class A
//{
//public:
//	A(int a, int b = 10)
//		:_a(a)
//		, _b(b)
//	{}
//	int _a;
//	int _b;
//};
//
//int main()
//{
//	A m = 1;
//	A n = { 1,2 };
//	return 0;
//}

//void _MergeSort(int* arr, int left, int right, int* tmp)
//{
//	if (left >= right)
//	{
//		return;
//	}
//	int mid = (left + right) / 2;
//	_MergeSort(arr, left, mid, tmp);
//	_MergeSort(arr, mid + 1, right, tmp);
//
//	int begin1 = left, end1 = mid;
//	int begin2 = mid + 1, end2 = right;
//	int index = left;
//	while (begin1 <= end1 && begin2 <= end2)
//	{
//		if (arr[begin1] <= arr[begin2])
//		{
//			tmp[index++] = arr[begin1++];
//		}
//		else
//		{
//			tmp[index++] = arr[begin2++];
//		}
//	}
//	while (begin1 <= end1)
//	{
//		tmp[index++] = arr[begin1++];
//	}
//	while (begin2 <= end2)
//	{
//		tmp[index++] = arr[begin2++];
//	}
//	for (int i = left; i <= right; i++)
//	{
//		arr[i] = tmp[i];
//	}
//}
//
//void MergeSort(int* arr, int sz)
//{
//	int* tmp = new int[sz];
//	_MergeSort(arr, 0, sz - 1, tmp);
//	delete[] tmp;
//}
//
//int main()
//{
//	int arr[] = { 6,2,0,4,1,8,7,9,3,6,2 };
//	int sz = sizeof(arr) / sizeof(arr[0]);
//
//	MergeSort(arr, sz);
//
//	for (auto& e : arr)
//	{
//		cout << e << ' ';
//	}
//	cout << endl;
//
//	return 0;
//}

//void fun(int* arr, int t)
//{
//	int left = 0, right = 10;
//	while (left < right)
//	{
//		int mid = left + (right - left) / 2;
//		if (mid < t) left = mid + 1;
//		else right = mid;
//	}
//}
//
//void fun1(int* arr, int t)
//{
//	int left = 0, right = 10;
//	while (left < right)
//	{
//		int mid = left + (right - left + 1) / 2;
//		if (mid <= t) left = mid;
//		else right = mid - 1;
//	}
//}